package mod

import (
	"github.com/google/wire"
	"kf/models/dao"
)

var DaoSet = wire.NewSet(
	wire.Struct(new(dao.AboutDao), "*"),
	wire.Struct(new(dao.ConfigDao), "*"),
	wire.Struct(new(dao.IpBlackDao), "*"),
	wire.Struct(new(dao.MessageDao), "*"),
	wire.Struct(new(dao.ReplyDao), "*"),
	wire.Struct(new(dao.UserClientDao), "*"),
	wire.Struct(new(dao.SysUserRolesDao), "*"),
	wire.Struct(new(dao.VisitorsDao), "*"),
	wire.Struct(new(dao.WelcomeDao), "*"),
	wire.Struct(new(dao.SysMenuDao), "*"),
	wire.Struct(new(dao.SysDeptDao), "*"),
	wire.Struct(new(dao.SysUserDao), "*"),
	wire.Struct(new(dao.SysDictDao), "*"),
	wire.Struct(new(dao.SysDictItemDao), "*"),
	wire.Struct(new(dao.SysRoleDao), "*"),
	wire.Struct(new(dao.LogDao), "*"),
	wire.Struct(new(dao.SysRoleMenuDao), "*"),
	wire.Struct(new(dao.SysRuleDao), "*"),
	wire.Struct(new(dao.SysAutoReplyDao), "*"),
)

type DaoAggregate struct {
	AboutDao        *dao.AboutDao
	ConfigDao       *dao.ConfigDao
	IpBlackDao      *dao.IpBlackDao
	MessageDao      *dao.MessageDao
	ReplyDao        *dao.ReplyDao
	UserClientDao   *dao.UserClientDao
	UserRolesDao    *dao.SysUserRolesDao
	VisitorsDao     *dao.VisitorsDao
	WelcomeDao      *dao.WelcomeDao
	SysMenuDao      *dao.SysMenuDao
	SysDeptDao      *dao.SysDeptDao
	SysUserDao      *dao.SysUserDao
	SysDictDao      *dao.SysDictDao
	SysDictItemDao  *dao.SysDictItemDao
	SysRoleDao      *dao.SysRoleDao
	LogDao          *dao.LogDao
	SysRoleMenuDao  *dao.SysRoleMenuDao
	SysRuleDao      *dao.SysRuleDao
	SysAutoReplyDao *dao.SysAutoReplyDao
}
